有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是下载位于远程存储服务中的文件的有效方法

我创建了一个Java应用程序来存储和下载大文件,因此当客户端上载文件时,它将被传输到服务器,服务器将其发送到存储云服务(azure data lake store),但是当用户尝试下载文件时,会向服务器发送请求,然后,服务器将向存储服务发送请求,文件传输将在服务器和存储服务之间开始,同时客户端将等待这两个服务之间的传输结束,这可能需要很长时间(下图中的步骤3),我想知道是否有一种方法可以同时从azure下载已经收集到的内容

enter image description here

这是我的密码:

@RequestMapping(value = "download", method = RequestMethod.GET, produces = "application/zip")
public ResponseEntity < Resource > download(@PathVariable String path) throws IOException {

    InputStream stream = azureDataLakeStoreService.getFile(path);
    InputStreamResource resource = new InputStreamResource(stream);

    return ResponseEntity.ok()
        .header(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION)
        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=download.zip")
        .contentType(MediaType.parseMediaType("application/octet-stream"))
        .body(resource);
}

共 (0) 个答案